1. Field of Invention
The present invention relates to methods and systems for modeling and analyzing solutions to complex scenarios. More specifically, the present invention relates to a method and system for modeling complex scenarios by creating modifiable programmable Possibility Trees.
2. Background Art
“Possibility Trees” are tools which help to condense many possible outcomes of a given situation into a more compact form. A Possibility Tree is comprised of nodes, each of which contains some piece or pieces of information. The nodes themselves are generally logic gates which help to determine how various such pieces of information are combined and ordered to provide possible solutions to the tree. In this way, a Possibility Tree with several thousand nodes may have billions and billions of solutions. Such a network of nodes or logic gates can be implemented using a computing device having software executing thereon and said software having logical gate functions operating in a possibility tree structure. Alternatively, the nodes or logical gates can be implemented in hardware using electronic logic gates imbedded in an integrated circuit design.
For example, a Possibility Tree may represent the possible choices for buying a flavored beverage such as a smoothie. The first node of the tree could contain the three possible sizes, such as, for example, small, medium and large. A large smoothie may have two possibilities, such as a souvenir cup or a standard large. The second node of the tree could contain the three possible flavors, such as for example strawberry, blueberry and banana. The last node of the tree could contain the choice of whether to add a protein supplement or not. Typically, nodes are selected such that each possible solution includes one choice from each of the nodes. As a result of these smoothie options given above, 24 possible solutions exist (the four size options, including the two large options, multiplied by the three flavors multiplied by the two options for protein supplement), where each solution represents a distinct “path” through or “branch” of the Possibility Tree.
Currently, in order to analyze such a Possibility Trees, the tree must be executed to list each possible path through the tree. In the above example, the solutions would be as follows: 1) banana, small, protein; 2) banana, small, no protein; 3) banana, medium, protein; 4) banana, medium, no protein; 5) banana, large, protein; 6) banana, large, no protein; 7) banana, large, souvenir cup, protein; 8) banana, large, souvenir cup, no protein; 9) strawberry, small, protein; 10) strawberry, small, no protein; 11) strawberry, medium, protein; 12) strawberry, medium, no protein; 13) strawberry, large, protein; 14) strawberry, large, no protein; 15) strawberry, large, souvenir cup, protein; 16) strawberry, large, souvenir cup, no protein; 17) blueberry, small, protein; 18) blueberry, small, no protein; 19) blueberry, medium, protein; 20) blueberry, medium, no protein; 21) blueberry, large, protein; 22) blueberry, large, no protein; 23) blueberry, large, souvenir cup, protein; and 24) blueberry, large, souvenir cup, no protein. As can be seen, each of these solutions is also representative of the path taken: flavor→size→supplement.
In prior art systems, each node is merely a logic gate, capable only of defining how the possible options (or “options”) which it contains are combined and ordered to provide possible solutions to the tree. This leaves an analyst to determine whether each “solution” is viable. In the above smoothie example, whether such solutions are viable depends on parameters such as, for example, cost versus available funds, common fruit allergy, etc. Essentially, in prior art systems, a person must analyze each possible solution according to chosen parameters to locate any inconsistencies in a possible solution. In the above smoothie example, for example, it may be known that a small costs $2.50, a medium costs $3.00, a large costs $3.50, a large souvenir cup costs $3.75, blueberry costs an additional $0.50, and a protein supplement costs an additional $1.00. In this example, an analyst would be required to calculate the total cost of each solution, and compare this total cost to the available funds of a consumer. Other parameters may be taken into account, such as an allergy to bananas in the above example, in which any solution which contains banana as the flavor is excluded, or the availability of souvenir cups.
As can be seen, where such a Possibility Tree has tens of thousands of nodes and billions of solutions, the analysis required becomes practically impossible. Indeed, such Possibility Trees are often used in connection with analysis of terrorist actions, where options and additionally known information may include suspected (or known) terrorists, terrorist organizations, locations, motivations, access to materials, access to funds, possible targets, etc. Each of these may include dozens of possible options and may be arranged in many of different ways, resulting in the possibility of billions of solutions. As can be seen, the mere change or addition of a single parameter or option would require a complete re-execution of the entire tree, and/or a completely new analysis of all of the possible solutions. When dealing with terrorist plots, slowly combing through tens of millions of possible solutions is ineffective and largely useless. Thus, an improved method of quickly executing Possibility Trees and analyzing solutions is desirable. Also, an improved method of quickly running and analyzing solutions of a sequence or plurality of Possibility Trees, each with slightly different parameters or options, is desirable.